package com.xh.bussiness.permission.bean.request;

import com.xh.core.bean.BaseRequestBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;


@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
public class UserRequest extends BaseRequestBean {

    @ApiModelProperty(value = "id",notes ="id" ,dataType = "String", required = false)
    private String id;

    @ApiModelProperty(value = "username",notes = "用户名",dataType = "String",required = true)
    private String username;

    @ApiModelProperty(value = "nickname",notes = "昵称",dataType = "String",required = false)
    private  String nickname;

    @ApiModelProperty(value = "mobile",notes = "手机号",dataType = "String",required = true)
    private String mobile;

    @ApiModelProperty(value = "ordId",notes = "机构id",dataType = "String",required = false)
    private  String orgId;

    @ApiModelProperty(value = "headUrl",notes = "头像url",dataType = "String",required = false)
    private String headUrl;

    @ApiModelProperty(value = "sex",notes = "性别，0：女，1：男",dataType = "Integer",required = false)
    private  Integer sex;

    @ApiModelProperty(value = "password",notes = "密码",dataType = "String",required = false)
    private String password;

    @ApiModelProperty(value = "payPassword",notes = "支付密码",dataType = "String",required = false)
    private  String payPassword;

    @ApiModelProperty(value = "birthday",notes = "生日",dataType = "Date",required = false)
    private Date birthday;

    @ApiModelProperty(value = "type",notes = "用户类型",dataType = "String",required = false)
    private Integer type;

    @ApiModelProperty(value = "isAdmin",notes = "是否是后台用户",dataType = "Integer",required = true)
    private Integer isAdmin;

    @ApiModelProperty(value = "isFront",notes = "是否是前台用户",dataType = "Integer",required = true)
    private Integer isFront;

    @ApiModelProperty(value = "status",notes = "状态",dataType = "Integer",required = false)
    private Integer status;

    @ApiModelProperty(value = "isTry",notes = "是否是试用用户",dataType = "Integer",required = false)
    private Integer isTry;

    @ApiModelProperty(value = "identity",notes = "身份",dataType = "Integer",required = false)
    private Integer identity;

    @ApiModelProperty(value = "schoolIds", notes = "所属校区", dataType = "List", required = false)
    private List<String> schoolIds;

    @ApiModelProperty(value = "roleIds", notes = "所属角色", dataType = "List", required = false)
    private List<String> roleIds;

    @ApiModelProperty(value = "groupIds", notes = "所属组", dataType = "List", required = false)
    private List<String> groupIds;

    /**
     * 来源
     */
    private Integer source;

    /**
     * 第三方Id
     */
    private String thirdId;
    /**
     *  是否已删除
     */
    private Integer deleted;

}
